﻿<Page x:Class="WpfControlss.ComboxSample"
      xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
      xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
      mc:Ignorable="d"  d:DesignHeight="311" d:DesignWidth="787" Title="ComboxSample" xmlns:views="http://schemas.actiprosoftware.com/winfx/xaml/views">
    <Grid>
        <StackPanel  Orientation="Horizontal" Margin="76,27,0,0" HorizontalAlignment="Left" VerticalAlignment="Top" Height="30">
            <ComboBox Height="23" HorizontalAlignment="Left"      Name="comboBox1" VerticalAlignment="Top" Width="120" >
                <StackPanel Orientation="Horizontal">
                    <Image Source="Images/cat.png" />
                    <TextBlock VerticalAlignment="Center" Text="Cat" />
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Image Source="Images/dog.png" />
                    <TextBlock VerticalAlignment="Center" Text="Dog" />
                </StackPanel>
                <StackPanel Orientation="Horizontal">
                    <Image Source="Images/fish.png" />
                    <TextBlock VerticalAlignment="Center" Text="fish" />
                </StackPanel>

            </ComboBox>
            <ComboBox Height="23" IsEditable="True" HorizontalAlignment="Left"   Margin="20,0,20,0"   Name="comboBox2" VerticalAlignment="Top" Width="157">
                <StackPanel Orientation="Horizontal" TextSearch.Text="Cat">
                    <Image Source="Images/cat.png" />
                    <TextBlock Text="Cat" VerticalAlignment="Center" />
                </StackPanel>
                <StackPanel Orientation="Horizontal"  TextSearch.Text="Dog">
                    <Image Source="Images/dog.png" />
                    <TextBlock Text="Dog" VerticalAlignment="Center" />
                </StackPanel>
                <StackPanel Orientation="Horizontal" TextSearch.Text="Fish">
                    <Image Source="Images/fish.png" />
                    <TextBlock Text="fish" VerticalAlignment="Center" />
                </StackPanel>
            </ComboBox>
            <ComboBox Height="23" HorizontalAlignment="Left"   HorizontalContentAlignment="Left" IsEditable="True" TextSearch.TextPath="Source"  Name="comboBox3" VerticalAlignment="Top" Width="157">
                <Image Source="Images/cat.png"  Selector.IsSelected="True"/>
                <Image Source="Images/dog.png"   />
                <Image Source="Images/fish.png" />
            </ComboBox>
        </StackPanel>
        <FlowDocumentReader Margin="85,84,228,26">
            <FlowDocument>
                <Paragraph xml:space="preserve">
 此类用于将字符串分配给控件集合中的项。给集合中的每个项分配一个字符串可完成两个目标。此操作指定了当选定某个项时要显示的文本，并使用户能够通过键入分配的字符串来选择某个项。
例如，假定 ComboBox 包含 Image 对象的集合，其中一个对象为狗的图像。 如果将字符串“Dog”分配给该项，则用户可通过在组合框的文本框内键入狗的单词 (Dog) 来选择它。一旦用户键入的单词部分足以将其与选项中的其他项区分开，则将选择狗的图像。如果在 ComboBox 上将 IsEditable 设置为 true，则“Dog”将在文本框中出现。
可以通过使用控件上的 TextSearch.TextPath 属性或通过在控件集合中的每个项上设置 Text 属性，指定标识某个项的文本。设置这些属性之一可确保不会显示意外文本。如果在控件的集合项上设置 Text 属性，则将忽略 TextPath 属性。 如果将 TextPath 属性设置为一个不是实际属性名的值，则将忽略 TextPath。
                </Paragraph>
            </FlowDocument>
        </FlowDocumentReader>
    </Grid>
</Page>
